﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using Hyt.Core;
using Hyt.Core.Security;
using Hyt.Passport.Models;

namespace Hyt.Passport.Repositories
{
    public interface IAdministratorRepository
    {
        IQueryable<Administrator> GetAdministrators(QueryOption<Administrator> option = null);

        Administrator AddAdministrator(Administrator model);
        void RemoveAdministrator(Administrator model);
        void UpdateAdministrator(Administrator model);

        void AddAuthorization(Administrator principal, Operation operation);
        void CancelAuthorization(Administrator principal, Operation operation);
        IQueryable<Authorization> GetAuthorizations(QueryOption<Authorization> option = null);

    }
}
